#pragma once

#include "CoreMacro/BufferMacro.h"

#define BINDING_CONSTRUCTOR_SIGNATURE MonoObject* InMonoObject, IN_BUFFER_SIGNATURE, OUT_BUFFER_SIGNATURE

#define BINDING_CONSTRUCTOR_PARAM InMonoObject, IN_BUFFER, OUT_BUFFER

#define BINDING_DESTRUCTOR_SIGNATURE const FGarbageCollectionHandle InGarbageCollectionHandle

#define BINDING_DESTRUCTOR_PARAM InGarbageCollectionHandle

#define BINDING_FUNCTION_SIGNATURE const FGarbageCollectionHandle InGarbageCollectionHandle, IN_BUFFER_SIGNATURE, OUT_BUFFER_SIGNATURE, RETURN_BUFFER_SIGNATURE

#define BINDING_FUNCTION_PARAM InGarbageCollectionHandle, IN_BUFFER, OUT_BUFFER, RETURN_BUFFER

#define BINDING_SUBSCRIPT_GET_SIGNATURE const FGarbageCollectionHandle InGarbageCollectionHandle, IN_BUFFER_SIGNATURE, RETURN_BUFFER_SIGNATURE

#define BINDING_SUBSCRIPT_GET_PARAM InGarbageCollectionHandle, IN_BUFFER, RETURN_BUFFER

#define BINDING_SUBSCRIPT_SET_SIGNATURE const FGarbageCollectionHandle InGarbageCollectionHandle, IN_BUFFER_SIGNATURE

#define BINDING_SUBSCRIPT_SET_PARAM InGarbageCollectionHandle, IN_BUFFER
